home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 11 / AMUG BBS in a Box Volume XI (April 1994) (MacWizards).iso / Files / QuickTime / QT Tools / QuickTime Interfacing.sit / QuickTime Interfacing / ImageCodec.r / ImageCodec.r
Encoding:
Text File  |  1992-10-21  |  4.2 KB  |  104 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Friday, September 27, 1991 10:04:39 AM
  4.  ImageCodec.r
  5.  Rez Interface to the Macintosh Libraries
  6.  
  7.  
  8.  Copyright Apple Computer, Inc. 1991
  9.  All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. type 'thng' {
  15.     hex longint    type;
  16.     hex longint    subType;
  17.     hex longint    manufacturere;
  18.     hex    longint    flags;
  19.     hex    longint flagsMask;
  20.     hex longint    thingResType;    
  21.     int thingResID;
  22.     hex longint  thingNameResType;
  23.     int thingNameResID;
  24.     hex longint  thingInfoResType;
  25.     int thingInfoResID;
  26.     hex longint  thingIconResType;
  27.     int thingIconResID;
  28. };
  29.  
  30.  
  31. #define    codecInfoDoes1                1            /* codec can work with 1-bit pixels */
  32. #define    codecInfoDoes2                2            /* codec can work with 2-bit pixels */
  33. #define    codecInfoDoes4                4            /* codec can work with 4-bit pixels */
  34. #define    codecInfoDoes8                8            /* codec can work with 8-bit pixels */
  35. #define    codecInfoDoes16                0x10        /* codec can work with 16-bit pixels */
  36. #define    codecInfoDoes32                0x20        /* codec can work with 32-bit pixels */
  37. #define    codecInfoDoesDither            0x40        /* codec can do ditherMode */
  38. #define    codecInfoDoesStretch        0x80        /* codec can stretch to arbitrary sizes */
  39. #define    codecInfoDoesShrink            0x100        /* codec can shrink to arbitrary sizes */
  40. #define    codecInfoDoesMask            0x200        /* codec can mask to clipping regions */
  41.             
  42. #define    codecInfoDoesTemporal        0x400        /* codec can handle temporal redundancy */
  43.  
  44. #define    codecInfoDoesDouble            0x800        /* codec can stretch to double size exactly */
  45. #define    codecInfoDoesQuad            0x1000        /* codec can stretch to quadruple size exactly */
  46. #define    codecInfoDoesHalf            0x2000        /* codec can shrink to half size */
  47. #define    codecInfoDoesQuarter        0x4000        /* codec can shrink to quarter size */
  48.  
  49. #define    codecInfoDoesRotate            0x8000        /* codec can rotate on decompress */
  50. #define    codecInfoDoesHorizFlip        0x10000        /* codec can flip horizontally on decompress */
  51. #define    codecInfoDoesVertFlip        0x20000        /* codec can flip vertically on decompress */
  52. #define    codecInfoDoesSkew            0x40000        /* codec can skew on decompress */
  53. #define    codecInfoDoesBlend            0x80000        /* codec can blend on decompress */
  54. #define    codecInfoDoesWarp            0x100000    /* codec can warp arbitrarily on decompress */
  55. #define    codecInfoDoesRecompress        0x200000    /* codec can recompress image without accumulating errors */
  56. #define    codecInfoDoesSpool            0x400000    /* codec can spool image data */
  57. #define    codecInfoDoesRateConstrain    0x800000    /* codec can data rate constrain */
  58.  
  59.  
  60. #define    codecInfoDepth1                1            /* compressed data at 1 bpp depth available */
  61. #define    codecInfoDepth2                2            /* compressed data at 2 bpp depth available */
  62. #define    codecInfoDepth4                4            /* compressed data at 4 bpp depth available */
  63. #define    codecInfoDepth8                8            /* compressed data at 8 bpp depth available */
  64. #define    codecInfoDepth16            0x10        /* compressed data at 16 bpp depth available */
  65. #define    codecInfoDepth32            0x20        /* compressed data at 32 bpp depth available */
  66. #define    codecInfoDepth24            0x40        /* compressed data at 24 bpp depth available */
  67. #define    codecInfoDepth33            0x80        /* compressed data at 1 bpp monochrome depth  available */
  68. #define    codecInfoDepth34            0x100        /* compressed data at 2 bpp grayscale depth available */
  69. #define    codecInfoDepth36            0x200        /* compressed data at 4 bpp grayscale depth available */
  70. #define    codecInfoDepth40            0x400        /* compressed data at 8 bpp grayscale depth available */
  71. #define    codecInfoStoresClut            0x800        /* compressed data can have custom cluts */
  72. #define    codecInfoDoesLossless        0x1000        /* compressed data can be stored in lossless format */
  73. #define    codecInfoSequenceSensitive    0x2000        /* compressed data is sensitive to out of sequence decoding */
  74.  
  75.  
  76. type 'cdci' {
  77.     pstring[31];
  78.     hex integer    version;
  79.     hex integer    revlevel;
  80.     hex longint    vendor;
  81.     hex longint    decompressFlags;
  82.     hex longint    compressFlags;
  83.     hex longint    formatFlags;
  84.     byte        compressionAccuracy;
  85.     byte        decompressionAccuracy;
  86.     integer        compressionSpeed;
  87.     integer        decompressionSpeed;
  88.     byte        compressionLevel;
  89.     byte        resvd;
  90.     integer        minimumHeight;
  91.     integer        minimumWidth;
  92.     integer        decompressPipelineLatency;
  93.     integer        compressPipelineLatency;
  94.     longint        privateData;
  95. };
  96.  
  97.  
  98.  
  99. #define    compressorComponentType            'imco'
  100. #define    decompressorComponentType        'imdc'
  101.  
  102.  
  103.  
  104.